iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 19
0
AI & Data

蟲王養成 - scrapy系列 第 19

DAY 19 : python .env 使用

  • 分享至 

  • xImage
  •  

先前發文
DAY 01 : 參賽目的與規劃
DAY 02 : python3 virtualenv 建置
DAY 03 : python3 request
DAY 04 : 使用beautifulsoup4 和lxml
DAY 05 : select 和find 抓取tag
DAY 06 : soup解析後 list取值
DAY 07 : request_header_cookie 通過網頁18限制
DAY 08 : ppt內文爬取
DAY 09 : 資料處理 split replace strip
DAY 10 : python csv 寫入 和dict 合併
DAY 11 : python class function
DAY 12 : crawl 框架 scrapy 使用
DAY 13 : scrapy 架構
DAY 14 : scrapy pipeline data insert mongodb
DAY 15 : scrapy middleware proxy
DAY 16 : scrapy selenium
DAY 17 : scrapy 爬取js畫面資料(二)
DAY 18 : scrapy splash 爬取js畫面資料(三)
DAY 19 : python .env 使用


今天來介紹env變數設置

建立一個檔案名稱:.env 打上重要資料後

MONGODB_URI = 'mongodb://ip:port/database'
MONGODB_DB_NAME = 'database'
DB_ACCOUNT = 'username'
DB_PW = 'password'
DB_MECHANISM = 'example'

下載套件

pip3 install python-dotenv

在需要調用的檔案內import python-dotenv套件 , 例如scrapy 裡的setting 使用mongo含有隱私的資料 , 以防推到git上時被公開 , 導致自己的伺服器被攻擊

from dotenv import load_dotenv
load_dotenv()

MONGODB_URI = os.getenv('MONGODB_URI')
MONGODB_DB_NAME = os.getenv('MONGODB_DB_NAME')
DB_ACCOUNT = os.getenv('DB_ACCOUNT')
DB_PW = os.getenv('DB_PW')
DB_MECHANISM = os.getenv('DB_MECHANISM')

在middleware裡使用setting裡的變數資料進行應用


        db_uri = spider.settings.get('MONGODB_URI', 'mongodb')
        db_name = spider.settings.get('MONGODB_DB_NAME', 'rushing_channel')
        db_account = spider.settings.get('DB_ACCOUNT', 'mongodb_account')
        db_password = spider.settings.get('DB_PW', 'mongodb_password')
        db_mechanism = spider.settings.get('DB_MECHANISM', 'mongodb_mechanism') 


上一篇
DAY 18 : scrapy splash 爬取js畫面資料(三)
下一篇
DAY 20 : python chartify 資料視覺化套件
系列文
蟲王養成 - scrapy30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言